<template>
  <div>
    <van-nav-bar :border="false" :z-index="999" class="van-transparent">
      <template #left>
        <div class="city-flex" @click="href('/Location')">
          <van-icon name="location" />
          <!--  -->
          <span>{{ city }}</span>
        </div>
      </template>
      <template #right>
        <div class="menu-flex">
          <div @click="href('/Search')" class="menu-link">
            <img src="../../assets/images/47.png" alt />
          </div>
        </div>
      </template>
    </van-nav-bar>
  </div>
</template>

<script>
//import { Toast } from 'vant';
export default {
  name: "search",
  data() {
    return {
      city: "湘潭市"
    };
  },
  mounted() {
    let _this = this;
    let sessionLocal = sessionStorage.getItem("city");
    if (sessionLocal) {
      _this.LocationCity = sessionLocal;
    } else {
      _this.initMap();
    }

    if (sessionStorage.getItem("city")) {
      this.city = sessionStorage.getItem("city");
    }

    if (sessionStorage.getItem("Hsite")) {
      this.LocationCity = sessionStorage.getItem("Hsite");
    }
    this.getGpsLocation();
  },
  methods: {
    href(url) {
      this.$router.push({ path: url });
    },
    /** 获取高德地图定位 */
    // 获取当前位置
    initMap() {
      // *******************
      let _this = this;
      let geolocation = new BMap.Geolocation(); // 创建百度地理位置实例，代替 navigator.geolocation
      geolocation.getCurrentPosition(function(e) {
        if (this.getStatus() == BMAP_STATUS_SUCCESS) {
          // 百度 geolocation 的经纬度属性不同，此处是 point.lat 而不是 coords.latitude
          // console.log(_this.lng, _this.lat);
          let point = new BMap.Point(e.point.lng, e.point.lat);
          let gc = new BMap.Geocoder();
          gc.getLocation(point, function(rs) {
            console.log(rs);
            let addComp = rs.addressComponents; // 返回的结果，大家可以先把rs打印出来看看是什么
            let LocationCity = addComp.city; // + addComp.district + addComp.street; // 拼接地址
            _this.city = LocationCity;
            sessionStorage.setItem("city", LocationCity);
            sessionStorage.setItem("jd", rs.point.lng);
            sessionStorage.setItem("wd", rs.point.lat);
          });
        } else {
          console.log(this.getStatus());
        }
      });
      // *******************
      // var mapObj = new AMap.Map("iCenter"); //以为这里是要获取地图容器的id,所以要写在mounted之中
      // var geolocation;
      // var that = this;
      // mapObj.plugin("AMap.Geolocation", function() {
      //   geolocation = new AMap.Geolocation({
      //     enableHighAccuracy: true, // 是否使用高精度定位，默认:true
      //     timeout: 10000, // 超过10秒后停止定位，默认：无穷大
      //     maximumAge: 0, // 定位结果缓存0毫秒，默认：0
      //     convert: true, // 自动偏移坐标，偏移后的坐标为高德坐标，默认：true
      //     showButton: true, // 显示定位按钮，默认：true
      //     buttonPosition: "LB", // 定位按钮停靠位置，默认：'LB'，左下角
      //     buttonOffset: new AMap.Pixel(10, 20), // 定位按钮与设置的停靠位置的偏移量，默认：Pixel(10, 20)
      //     showMarker: true, // 定位成功后在定位到的位置显示点标记，默认：true
      //     showCircle: true, // 定位成功后用圆圈表示定位精度范围，默认：true
      //     panToLocation: true, // 定位成功后将定位到的位置作为地图中心点，默认：true
      //     zoomToAccuracy: true // 定位成功后调整地图视野范围使定位位置及精度范围视野内可见，默认：false
      //   });
      //   mapObj.addControl(geolocation);
      //   geolocation.getCurrentPosition();
      //   AMap.event.addListener(geolocation, "complete", that.onComplete); // 返回定位信息
      //   // AMap.event.addListener(geolocation, "error", that.onError); // 返回定位出错信息
      // });
    },

    getGpsLocation() {
      let _this = this;
      let dsBridge = require("dsbridge");
      dsBridge.call("tellHtml_loc", "", function(data) {
        var jwd = "";
        try {
          jwd = JSON.parse(data);
        } catch (err) {
          _this.getGpsLocation();
        }
        //  Toast(jwd)
        // Toast(jwd.city,jwd.address)
        this.city = jwd.city;
        this.LocationCity = jwd.address;
      });
    }
  }
};
</script>

<style></style>
